package com.credithc.eagleeye.api.service;
import com.credithc.eagleeye.api.protocol.AlertLogSearchRes;
import com.credithc.eagleeye.api.vo.AlertLogSearchConditionVo;
import com.credithc.eagleeye.api.vo.AlertRuleVo;
import com.credithc.eagleeye.api.vo.PlatformVo;
import com.credithc.eagleeye.api.vo.SettingVo;
import com.credithc.eagleeye.api.vo.UserVo;

import java.util.List;
/**
 * 描 述: <br/>
 * 作 者: zhangjin<br/>
 * 创 建：2018年10月16日<br/>
 * 版 本：v1.0.0<br>
 * <p>
 * 历 史: (版本) 作者 时间 注释 <br/>
 */
public interface SettingService {
    /**
     * 读取全部平台列表
     */
    public List<PlatformVo> loadAllPlatform();

    /**
     * 读取平台
     */
    public PlatformVo loadPlatform(String platformName);
    /**
     * 保存平台
     */
    public void savePlatform(PlatformVo platformVo);
    /**
     * 删除平台
     */
    public void deletePlatform(PlatformVo platformVo);
    /**
     * 鹰眼信息设置查询
     */
    public SettingVo loadSetting();

    /**
     * 保存鹰眼信息设置
     */
    public void saveSetting(SettingVo settingVo);
    /**
     * 读取所有用户
     */
    public List<UserVo> loadAllUser();

    /**
     * 读取用户
     */
    public UserVo loadUser(String userName);
    /**
     * 保存用户信息
     */
    public void saveUser(UserVo userVo);
    /**
     * 删除用户信息
     */
    public void deleteUser(UserVo userVo);


    /**
     * 读取所有报警规则
     */
    public List<AlertRuleVo> loadAllAlertRule();

    /**
     * 读取报警规则
     */
    public AlertRuleVo loadAlertRule(String ruleId);
    /**
     * 保存报警规则
     * @param alertRuleVo
     */
    public void saveAlertRule(AlertRuleVo alertRuleVo);
    /**
     * 删除报警规则
     * @param alertRuleVo
     */
    public void deleteAlertRule(AlertRuleVo alertRuleVo);

    /**
     * 搜索报警提醒日志
     */
    public AlertLogSearchRes searchAlertLog(AlertLogSearchConditionVo conditionVo);
}
